Time synchronization between components of a compute device is important for several applications. For example, it may be important to accurately determine the timing of sending or receiving packets that are sent or received over a network, such as in time sensitive network applications. However, the timing of the circuit that sends and receives network packets may not be directly synchronized with other components of the compute device.
The components of a compute device may be synchronized by sending messages between the various components. However, the messages may have an unknown amount of latency associated with them, leading to a relatively large uncertainty in the true timing associated with a particular message.